﻿using System;
namespace System.Data.Services.Providers
{
    /// <summary> Enumeration for classifying the different kinds of operation parameter binding. </summary>
    public enum OperationParameterBindingKind
    {
        /// <summary>
        /// Used when the first parameter of a service action is not a binding parameter.
        /// </summary>
        Never,
        /// <summary>
        /// Used when the first parameter of a service action is a binding parameter and some or all instances of the binding parameter type 
        /// may be bound to the service action.
        /// </summary>
        Sometimes,
        /// <summary>
        /// Used when the first parameter of a service action is a binding parameter and all instances of the binding parameter type 
        /// must be bound to the service action.
        /// </summary>
        /// <remarks>When this value is set, the <see cref="M:System.Data.Services.Providers.IDataServiceActionProvider.AdvertiseServiceAction(System.Data.Services.DataServiceOperationContext,System.Data.Services.Providers.ServiceAction,System.Object,System.Boolean,Microsoft.Data.OData.ODataAction@)" /> method will not be called for the service action."/&gt; </remarks>
        Always
    }
}